//1.安装依赖包 npm i vuex --save
//2.导入 import Vuex from 'vuex'
//3.注册到Vue中
	//Vue.use(Vuex);
//4.new Vuex.Store() 实例，得到一个 数据仓储对象
	var store = new Vuex.Store({
		state:{
			//可以把这里的state理解成组件中的data
			//如果在 组件中，想要访问，store 中的数据，只能通过 this.$store.state.*** 来访问
			count: 3
		},
		mutations:{
			//如果操作store中的state数据，只能通过调用mutations提供的方法，不推荐直接操作 state 中的数据，因为 万一导致了数据的紊乱
			//如果组件想调用mutations中的方法,只能使用 this.$store.commit('方法名')
			add(state){
				state.count++;
			},
			//mutations中的函数参数列表中最多支持2个参数,参数1:是 state 状态;参数2：通过 commit 提交过来的参数
			subtract(state,params){
				state.count -= params;
			}
		},
		//getter 只负责提供数据，不负责修改数据
		getters:{
			optCount(state){
				return '当前最新的count值是：' + state.count;
			}
		}
	});
	// 总结：
	// 1. state中的数据，不能直接修改，如果想要修改，必须通过 mutations
	// 2. 如果组件想要直接 从 state 上获取数据： 需要 this.$store.state.***
	// 3. 如果 组件，想要修改数据，必须使用 mutations 提供的方法，需要通过 this.$store.commit('方法的名称'， 唯一的一个参数)
	// 4. 如果 store 中 state 上的数据， 在对外提供的时候，需要做一层包装，那么 ，推荐使用 getters, 如果需要使用 getters ,则用 this.$store.getters.***
//5.将 vuex 创建的 store 挂载到 VM 实例上
	/* const vm = new Vue({
	  el: '#app',
	  render: c => c(App),
	  store // 5. 将 vuex 创建的 store 挂载到 VM 实例上， 只要挂载到了 vm 上，任何组件都能使用 store 来存取数据
	}) */